要給用戶作預約,就可能需要有多項內容給他們選,那接下來做服務類型選擇。
我預計是做這樣的選項:
這樣的話,我就要使用Documentation裡的模板功能,【Image carousel template】與【Carousel template】
【Image carousel template】【Image carousel template:line-bot-sdk-python程式碼】
【Carousel template】【Carousel template:line-bot-sdk-python程式碼】
資料夾events新增一個python的檔案命名為【service】
首先輸入以下程式碼,導入line_bot_api:
from line_bot_api import *
然後定義一個service_category_event事件,程式碼:
def service_category_event(event):
再從)【Image carousel template:line-bot-sdk-python程式碼】複製Image carousel templat的程式碼貼上。
貼上後可以發先,TemplateSendMessage, ImageCarouselTemplate, ImageCarouselColumn, PostbackAction這四個都有紅底波浪紋,所以就要到line_bot_api將這些添加入linebot.models
完成之後,紅色波浪紋就消失了
再來到主程式,用以下程式碼,將service的程式都匯入:
from events.service import *
在到主程式下方的@handler.add內添加程式碼,讓這呼叫service內的service_category_event:
elif message_text == '@預約':
service_category_event(event)
在來重啟伺服器測,點選'@預約'試看看:
看來沒問題,接下來就是新增handler.add,要接收客戶postback的訊息,程式碼:
@handler.add(PostbackEvent)
def handle_postback(event):
data = dict(parse_qsl(event.postback.data))
print(data['action'])
print(data['itemid'])
也是一樣看到PostbackEvent與parse_qsl都是紅底波浪,所以到line_bot_api添加PostbackEvent以及在主程式添加parse_qsl
然後再來測試看看,即可看到action=buy,itemid=1
這樣就已經完成,能給客戶選擇,以及接收客戶選擇的資訊了。
後續在內容修改就在搭建完成後,一次編輯,以及分享是用哪些工具編輯。
下一篇,就繼續增加 line bot 機器人功能
@handler.add(PostbackEvent)
def handle_postback(event):
data = dict(parse_qsl(event.postback.data))
print(data['action'])
print(data['itemid'])
請問這一段是放在哪一個py裡面?